<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        /*
            Object.creat():可以继承
                作用
                    - 创建一个实例化对象
                    - 指定新对象的原型对象
                使用：
                    - 第一个参数：必须指定Object的原型对象，要么有要么为null
                    - 第二个参数：
                        - 对象的属性描述，是一个对象
                        - value:属性值
                        - writable:是否可以修改
                        - enumerable:是否可以枚举，遍历
                        - configable：是否可以删除


        */
    //    var o = Object.create();
    //    console.log(o);//Uncaught TypeError: Object prototype may only be an Object or null: undefined
        // var o = Object.create({});
        // console.log(o);
        
        //创建一个普通对象
        const o = Object.create(Object.prototype);
        console.log(o);

        //创建一个继承对象
        const o1 = {
            name:"laowang",
            age:10
        }
        const o2 = Object.create(o1);
        console.log(o2);

        //创建一个干干净净的对象
        const o3 = Object.create(null);
        console.log(o3);

        //创建一个对象，并且添加属性描述
        const o4 = Object.create(Object.prototype,{
            name:{
                value:"laowang",
                writable:false,
                enumerable:false,
                configurable:false
            },
            age:{
                value:10,
                writable:true,
                enumerable:false,
                configurable:true
            }
        })
        console.log("o4",o4);
    </script>
</body>
</html>